﻿using System.Collections.Generic;
using System;
using System.Drawing;
[assembly: CLSCompliant(true)]
namespace Lapas.Common
{

    ///========================================================================
    /// Summary	: <Khai bao cac hang o day. De dang cho viec sua doi tuy theo cac du an>
    /// Author	: <Van Vo>, <20070527>
    /// 
    /// Revision History:
    /// 
    /// [20070527]		[Van Vo]		[Create]
    /// 
    ///========================================================================			
    /// Lập trình viên lưu ý: Sắp xếp theo thứ tự ABC để dễ tìm

    public static class AppSettings
    {
        /// <summary>
        /// Moi lan tao but toan la tu dong day ra may in: TAS=false; AVS=true
        /// </summary>
        public static bool AutoPrintEntry;// = false;
        /// <summary>
        /// Có cho phép tự động mở tài khoản <b>nội bảng</b> liên quan hay mở bằng tay
        /// <br/>20071106 TriDM
        /// </summary>
        //public static bool AutoCreateBalanceAccount;
        /// <summary>
        /// Có cho phép tự động mở tài khoản <b>ngoại bảng</b> liên quan hay mở bằng tay
        /// <br/>20071106 TriDM
        /// </summary>
        //public static bool AutoCreateContigenAccount;

        /// <summary>
        /// Cờ xác định có tự động tạo bút toán khi thực hiện duyệt phiếu chuyển tiền hay không?
        /// (Nếu cờ không được bật, bắt buộc nhân viên kế toán phải tạo bút toán bằng tay)
        /// </summary>
        public static bool AutoCreateCashTransferPen;

        //So luong co the giao dich thoa thuan san HN
        public static decimal AvailAgreementDealHASE; // = 5000;
        //So luong giao dich thoa thuan san HN
        public static decimal AgreementDealHASE; // = 10000;
        //So luong giao dich thoan thuan san SG
        public static decimal AgreementDealHOSE; // = 20000;

        /// <summary>
        /// 20090522 Haids: dùng để highlight báo cáo xác nhận giao dịch bằng tiếng Anh
        /// </summary>
        public static decimal TotalTradingAmount; 

        // Allow delete entry on Approving form
        public static bool AllowDeleteEntry;

        /// <summary>
        /// Tên viết tắt của công ty CK (VD: TAS)
        /// </summary>
        public static string Company_Name;// = "TAS";
        /// <summary>
        /// Mã số của công ty (VS: 041)
        /// </summary>
        public static string Company_Code;// = "041";
        public static string Company_PrefixC;// = "041C";
        public static string Company_PrefixP;// = "041P";
        public static string Company_PrefixF;// = "041F";
        //Used for estimating Customer Point for each time
        public static int CustomerPoint = 1;
        /// <summary>
        /// 20070803 TriDM: Nếu giá trị này = true thì sẽ áp dụng các nghiệp vụ của tas 
        /// Nếu giá trị = false: áp dụng các nghiệp vụ khác
        /// (ví dụ ở nghiệp vụ thu nợ hoặc phát vay của hợp đồng mua tiền bán chứng khoán)
        /// 20070907 TriDM: sua thanh kieu enum
        /// </summary>
        //public static ProfessionalType CurrentProfessionalType;// = ProfessionalType.TAS;
        /// <summary>
        /// 20070829 TriDM: them 111112 de khac phuc phieu thu chi cua chi nhanh HCM
        /// </summary>
        public const string CashBankGL2 = "111112";
        // 20070908 TriDM: bo sung ngay giao dich hien tai (muc dich cho cac lop DAL, Common goi, VD: replace XML file)
        
        //Used for private account
        public static string Company_PrivateAccount;
        /// <summary>
        /// Tai khoan tien mat tai qui
        /// </summary>
        public static string CashBankGL;// = "111111";

        /// <summary>
        /// Tài khoản thể hiện sự chuyển khoản (sử dụng trong in bút toán)
        /// </summary>
        public static string TransferCashAccountIdPrefix = "112";
        /// <summary>
        /// 20090109 Haids: tách tài khoản 1123 ra in Phiếu kế toán
        /// </summary>
        public static string TransferNotCashAccountIdPrefix = "1123";

        ///20080119 Haids removed CompanyCIF and CompanyFeeCIF
        //public static string CompanyCIF; // = "XXXXXXXXXX123";
        //public static string CompanyFeeCIF;
        /// <summary>
        /// Khai báo BankGL của TK tự doanh
        /// 20071104 TriDM
        /// [20071105] [Haids] [đã tham số hóa]
        /// </summary>
        public static string Company_PrivateAccount_BankGL;
        /// <summary>
        /// Khai báo SectionGL của TK tự doanh
        /// 20071104 TriDM
        /// [20071105] [Haids] [đã tham số hóa]
        /// </summary>
        public static string Company_PrivateAccount_SectionGL;
       
        /// <summary>
        /// Khong cho tim kiem bang phim F5 o nhap Noi bang va Ngoai bang
        /// </summary>
        public static bool DisableF5;

        /// <summary>
        /// 20080328 Haids: update Mã thành viên lưu ký.
        /// không lưu vào CSDl, chỉ lấy khi Load program
        /// </summary>
        public static string DepositoryCode;

        //20070926 TriDM: Bo sung bien de kiem tra AppSettings da duoc khoi tao va load du lieu chua?
        public static bool IsLoaded;

        /// <summary>
        /// Tham số hóa sàn HASTC
        /// </summary>
        public static string HASEName; 

        /// <summary>
        /// Logo Công ty
        /// </summary>
        public static System.Byte[] Logo;

        /// <summary>
        /// Thêm phiếu lệnh bán
        /// </summary>
        public static System.Byte[] TicketSell;
        /// <summary>
        /// Thêm phiếu lệnh mua
        /// </summary>
        public static System.Byte[] TicketBuy;
        /// <summary>
        /// preview phieu lenh truoc khi nhap
        /// </summary>
        public static bool IsAllowPreviewTicketBeforEnter;
        /// <summary>
        /// preview phieu lenh sau khi nhap
        /// </summary>
        public static bool IsAllowPreviewTicketAfterEnter;

        // 200901109 Hopnq: cho phep cap han muc T3 hay ko
        public static bool IsAllowDayLimitT3;
        /// <summary>
        /// Hiển thị Page Footer ở Phiếu kế toán
        /// </summary>
        public static bool ShowPageFooter;
        /// <summary>
        /// Hiển thị thông tin ủy quyền và thông tin chậm tiền trên Tiện ích kế toán
        /// </summary>
        public static bool ShowInformationUtilities;
        /// <summary>
        /// Trừ đi chứng khoán chờ thanh toán trong Báo cáo giá vốn tự doanh
        /// </summary>
        public static bool SubtractCKCTT;
        /// <summary>
        /// Phân quyền theo nhóm
        /// </summary>
        public static bool PermissionByGroup;
        /// <summary>
        /// Dùng cho mã hội sở chính trong TextBox Control 
        /// </summary>
        public static string HeadOfficeTradeCode;


        public static bool NotApprovingCustomerTrans;

        public static decimal AgentTransferFee; //Phí chuyển khoản Đại lý
        public static decimal TransferFee; //Phí chuyển khoản với Trung tâm giao dịch
        public static decimal DepositoryFee; //Phí lưu ký với Trung tâm giao dịch
        public static decimal MinDepositoryFee; //Phí lưu ký với Trung tâm giao dịch
        

        //Used for registry key
        public static string ProductCompany = "VSSD";
        public static string ProductName = "SBS";
        
        /// <summary>
        /// Tên Công ty bằng tiếng Việt
        /// </summary>
        public static string Report_CompanyName_vi;
        /// <summary>
        /// Tên Công ty bằng tiếng Anh
        /// </summary>
        public static string Report_CompanyName_en;
        /// <summary>
        /// Địa chỉ Công ty bằng tiếng Việt
        /// </summary>
        public static string Report_CompanyAddress_vi;
        /// <summary>
        /// Địa chỉ Công ty bằng tiếng Anh
        /// </summary>
        public static string Report_CompanyAddress_en;
        /// <summary>
        /// Địa điểm Công ty
        /// </summary>
        public static string Report_Location;
        /// <summary>
        /// Số điện thoại Công ty
        /// </summary>
        public static string Report_CompanyTel;
        /// <summary>
        /// Tên Trung tâm lưu ký chứng khoán
        /// </summary>
        public static string VSDName;
        /// <summary>
        /// Tên chi nhánh Trung tâm lưu ký chứng khoán
        /// </summary>
        public static string VSDBranch;

        //////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// 20071030 TriDM OrderServiceCodeInfor varchar(3)
        /// Khai báo mã service để hiện thông tin trong form đặt lệnh. VD: TEL lấy thông tin services đặt lệnh qua điện thoại
        /// Mục đích để xác định số điện thoại đặt lệnh và mật khẩu
        /// 20071030 Haids đã đưa vào tham số hóa (thiết lập hệ thống).
        /// </summary>
        public static string OrderServiceCodeInfor;// = "TEL";

        
        
        public const int SqlCommand_Timeout = 9999999;

         
        // 20070717 TriDM: So tien gioi han duoc phep cam co
        //public const decimal LimitMortageContractValue = 1000000000;

        // Used for Approving entry immediately
        // delete below row
        //public static bool WithoutApprovingEntry;// = false;

        // Used for Approving Balance entry immediately
        public static bool WithoutApprovingBalanceEntry;

        // Used for Approving Contigen entry immediately
        public static bool WithoutApprovingContigenEntry;

        public static bool WithoutApprovingOrder;// = false;
       
        /// <summary>
        /// 20071210 Haids: Khai báo thuế thu nhập doanh nghiệp
        /// </summary>
        public static decimal IncomeTax;
        /// <summary>
        /// 20090102 Haids: lựa chọn 5 chữ ký hay 3 chữ ký trong Phiếu thu chi
        /// </summary>
        public static bool ReceiveFooterSignature5;
        /// <summary>
        /// 20090828 Haids: update mẫu phiếu thu chi mới
        /// </summary>
        public static bool PhieuThuChiNew;
        /// <summary>
        /// 20081218 Haids: Khai báo thuế thu nhập cá nhân
        /// </summary>
        public static decimal PrivateIncomeTax;
        public static decimal TempPrivateIncomeTax;
        /// <summary>
        /// Thue TNCN ap dung voi Thuc hien quyen
        /// </summary>
        public static decimal RecPrvIncomeTax;
        /// <summary>
        /// Thue TNCN ap dung voi Lo Le
        /// </summary>
        public static decimal OddStockPrvIncomeTax;

        /// <summary>
        /// 20090311 Haids: Mã tổng hợp theo dõi thuế TNCN
        /// </summary>
        public static string PersonalIncomeTaxBankGL;

        /// <summary>
        /// 20090311 Haids: Mã quản lý theo dõi thuế TNCN
        /// </summary>
        public static string PersonalIncomeTaxSectionGL;

        /// <summary>
        /// 20090107 Haids: Lựa chọn có trừ phí bán hay không
        /// </summary>
        public static bool SubtractSellFee;
        /// <summary>
        /// 20090204 Haids: Lựa chọn có thu thuế bán của tổ chức hay không
        /// </summary>
        public static bool GetIncomeTaxOfEnterprise;

        public static bool UseMinInterestValue;
        public static decimal MinInterestValue;
        /// <summary>
        /// Hạch toán lưu ký theo ngày quá khứ
        /// </summary>
        public static bool DeposPostByPast;
        /// <summary>
        /// 20071211 Haids: Khai báo lô đặt lệnh
        /// </summary>
        public static decimal LotHOSE;
        public static decimal LotHASE;
        /// <summary>
        /// Tỷ lệ hạn mức tín dụng có thể cấp Báo cáo Hạn mức tổng hợp và tỷ lệ an toàn
        /// </summary>
        public static decimal DebitLimitRate;

        /// <summary>
        /// 20090504 Haids: Mức làm tròn chứng khoán (Thực hiện quyền)
        /// </summary>
        public static decimal StockRoundLevel;

        /// <summary>
        /// Các tham số thường xuyên thay đổi khi triển khai cho các công ty
        /// </summary>
        #region Changable variable

        // phiên bản hiện tại của chương trình
        public static string Version;

        //Used for Super admin account
        public static string SuperAdminName;
        public static string SuperAdminPassword;

        //Used for encryption
        public static string PassEncryption;
        public static string InitVectorEncryption;

        //Default Database Name
        public static string DefaultDatabaseName;
        #endregion


        // 20071130 TriDM: có phải ở chế độ extend (dành cho dev)
        public static bool IsExtendMode;

        /// <summary>
        /// Phí quản lý ở hợp đồng mua tiền bán chứng khoán
        /// 200712080 TriDM
        /// </summary>
        public static decimal BuyCastContractManageFee;

        

        /// <summary>
        /// 20071221 Haids
        /// Add ReportLocation for Report
        /// 20080110 Haids
        /// Tham số hóa Footer Report
        /// </summary>
        public static string ReportLocation_vi;
        public static string FooterReport1;
        public static string FooterReport2;
        public static string FooterReport3;

        /// <summary>
        /// 20090302 Haids:
        /// Khai báo tham số dùng trong báo cáo Thuế TNCN
        /// </summary>
        ///=======================================================
        public static string CompanyName;
        public static string Address;
        public static string TaxCode;
        public static string Tel;
        public static string Fax;
        public static string Email;
        ///=======================================================

        /// <summary>
        /// 20091024 Haids:
        /// Khai báo tham số dùng trong báo cáo chi nhánh
        /// </summary>
        public static string BranchNameReport;
        public static string BranchAddressReport;
        public static string BranchTelReport;
        public static string BranchFaxReport;
        ///=======================================================

        /// <summary>
        /// Tuổi có thể mở tài khoản
        /// </summary>
        public static int MinimumYearsOld;

        /// <summary>
        /// CMND qua 15 nam thi khong con tac dung
        /// </summary>
        public static int CardYearLimit;
        public static string ContractNumberFormat;
        public static bool ShowLocalAccountLink;
        /// <summary>
        /// Don gia Tai san co dinh nho nhat
        /// </summary>
        public static Decimal MinAssetValue = 10000000;
        public static class UISetting
        {
            public static class PriceColorDisplaying
            {
                public static int FlrPriceColor;
                public static int RefPriceColor;
                public static int CeiPriceColor;
            }
        }

        //public static bool Morta_VerifyAllowedStock;
        //public static bool Morta_GetMarketValueIfExist;

        public static class Mortage
        {
            public static bool VerifyAllowedStock = true;
            public static bool EnableEditContractIdChk = true;
            public static bool GenerateBankTransaction = true;

            public static string OtherMortgageBankGl;
            public static string OhterMortgageSectionGl;
        }
        /// <summary>
        /// Hiển thị mã nghiệp vụ cùng bút toán
        /// 20080116 TriDM
        /// </summary>
        public static bool ShowTransactionCodeWithEntry;

        public static bool PostAllBySetting;
        /// <summary>
        /// Màu mặc định nền cho CustomerTextBox
        /// 20080126 TriDM
        /// </summary>
        public static int CustomerTextBoxDefaultBackColor;
        /// <summary>
        /// Màu mặc định khi con trỏ onfocus lên 1 số Control (VD: TextBox)
        /// 20080126 TriDM
        /// </summary>
        public static int OnFocusDefaultBackColor;
        /// <summary>
        /// Màu mặc định khi con trỏ lost focus
        /// 20080126 TriDM
        /// </summary>
        public static int OnLostFocusDefaultBackColor;

        private static Color _onFocusColor = Color.Transparent;

        public static Color OnFocusColor
        {
            get
            {
                if (_onFocusColor == Color.Transparent) { _onFocusColor = (AppSettings.OnFocusDefaultBackColor == 0) ? Color.White : Color.FromArgb(AppSettings.OnFocusDefaultBackColor); }
                return _onFocusColor;
            }
            set { _onFocusColor = value; }
        }

        private static Color _onLostFocusColor = Color.Transparent;

        public static Color OnLostFocusColor
        {
            get
            {
                if (_onLostFocusColor == Color.Transparent) { _onLostFocusColor = (AppSettings.OnLostFocusDefaultBackColor == 0) ? Color.White : Color.FromArgb(AppSettings.OnLostFocusDefaultBackColor); }
                return _onLostFocusColor;
            }
            set { _onLostFocusColor = value; }
        }

        #region BankGL va SectionGL mac dinh cho KH trong nuoc vao nuoc ngoai
        public static string BankGlBalanceDomesticCustomer;
        public static string SectionGlBalanceDomesticCustomer;
        public static string BankGlBalanceForeignCustomer;
        public static string SectionGlBalanceForeignCustomer;

        public static string BankGlContigenDomesticCustomer;        
        public static string SectionGlContigenDomesticCustomer;

        public static string BankGlContigenForeignCustomer;
        public static string SectionGlContigenForeignCustomer;
        #endregion

        public static decimal oddStockRate;
        public static string oddStockDebitAccount;  // Tài khoản Nợ lô lẻ
        public static string oddStockCreditAccount; // Tài khoản Có lô lẻ
        public static string oddStockAccount;       // Số tài khoản lưu ký TVLK
        public static string oddStockPrefixAccount; // Đầu tài khoản mở tự động theo mã chứng khoán (Lô lẻ)

        public static string depositoryPrefixAccount; // Đầu tài khoản mở tự động theo mã chứng khoán (Gửi chứng khoán)

        public static string LocalBankCode = "VSSDB";
        /// <summary>
        /// Cho phép nhận lệnh từ đại lý hay không?
        /// </summary>
        
        public static bool AllowOrderFromAgent;
        /// <summary>
        /// Cho phép enable sửa phiên
        /// </summary>
        public static bool AllowOrderSession;
        /// <summary>
        /// Cho phép đặt lệnh từ SBS
        /// </summary>
        public static bool AllowOrderFromSBS;
        /// <summary>
        /// Kiểu hạch toán mặc định
        /// </summary>
        public static int DefaultCustomerPostType;


        #region Using SortedBindingList
        /// <summary>
        /// Sử dụng sorted bindingList ở form duyệt giao dịch nội bảng
        /// </summary>
        public static bool AllowSortInApproveBalanceEntryForm;
        /// <summary>
        /// Cho phép sử dụng sorted binding list ở form in lại bút toán nội bảng
        /// </summary>
        public static bool AllowSortInRePrintBalanceEntryForm;
        /// <summary>
        /// Cho phép sắp xếp ở form duyệt giao dịch ngoại bảng
        /// </summary>
        public static bool AllowSortInApproveContigenEntryForm;
        /// <summary>
        /// Cho phép sắp xếp ở form in lại bút toán ngoại bảng
        /// </summary>
        public static bool AllowSortInRePrintContigenEntryForm;
        #endregion

        public static bool LoopCreateOrder;
        public static bool isMakePayment;
        /// <summary>
        /// Cho phép sửa nhân viên môi giới
        /// </summary>
        public static bool allowEditBrokerID;
        /// <summary>
        /// Cho phép sửa nhân viên giới thiệu
        /// </summary>
        public static bool allowEditUserIntroducer;
        /// <summary>
        /// Cho phép sửa nhân viên chăm sóc
        /// </summary>
        public static bool allowEditUserTakeCared;
        public static bool allowMakeCustomerDebit;
        public static bool SuspendSameStock;
        public static bool SuspendSameBond;
        //public static bool IsCollectDebtWhilePost;
        /// <summary>
        /// Giá trị lớn nhất trong o StockTextbox 
        /// </summary>
        public static decimal MaxmimunStockTextBoxValue = 1000000000;
        public static Boolean CheckUserWhenLogin = true;

        /// <summary>
        /// 20090910 Thucnt: update
        /// Cho phép tính giá vốn trung bình
        /// </summary>
        public static bool DoAvgPrice;

        /// <summary>
        /// Thucnt - Dành riêng cho BSC
        /// Cho phép rút tiền khi đang nợ Mergin hay không
        /// </summary>
        public static bool CheckMoneyMergin;

        public static string UserSMS;

        public static string UserPassSMS;

        //20080612 Haids: update
        public static string BanlanceBankGLPrivate; // = "112111";
        public static string BanlanceSectionGLPrivate; // = "9999";
        public static string BalanceAccountPrivate; // = "1121190002";

        public static bool  PrintBuyCashExcel;
        /// <summary>
        /// 20100428 Haids:
        /// tham số in báo cáo HĐ đã phát vay và HĐ phải thu nợ theo mẫu của DAS
        /// </summary>
        public static bool IsBuyCashListReportDAS = false;
        /// <summary>
        /// 20100518 Haids:
        /// tham số in báo cáo giao dịch theo ngày mẫu của MHBS
        /// </summary>
        public static bool IsMHBSTradingResult = false;

        #region From ApplicationContext
        static string _BranchCode = null;
        public static string BranchCode
        {
            get
            {
                if (string.IsNullOrEmpty(_BranchCode))
                {
                    throw new Exception("Không xác định được mã chi nhánh hiện tại");
                }
                return _BranchCode;
            }
            set { _BranchCode = value; }
        }

        static DateTime? _CurrentTransactionDate = null;
        public static DateTime CurrentTransactionDate
        {
            get
            {
                if (_CurrentTransactionDate.HasValue == false)
                {
                    throw new Exception("Không xác định được ngày giao dịch hiện tại.");
                }
                return _CurrentTransactionDate.Value;
            }
            set
            {
                _CurrentTransactionDate = value;
            }
        }

        static string _BranchName = null;
        public static string BranchName
        {
            get
            {
                if (string.IsNullOrEmpty(_BranchName))
                {
                    throw new Exception("Không xác định được tên chi nhánh hiện tại");
                }
                return _BranchName;
            }
            set { _BranchName = value; }
        }

        #endregion

        #region Clear
        public static void Clear()
        {
            BranchCode = null;
            _CurrentTransactionDate = null;
            BranchName = null;
            LicenseDataList = new Dictionary<string, Lapas.Common.License.LicenseData>();
        }
        #endregion

        public static string CurrentCultureCode;

        static string _CurrentTradeCode;

        public static string CurrentTradeCode
        {
            get
            {
                if (string.IsNullOrEmpty(_CurrentTradeCode))
                {
                    throw new Exception("Không xác định được mã đơn vị giao dịch (TradeCode) ");
                }
                return _CurrentTradeCode;
            }
            set { _CurrentTradeCode = value; }
        }

        static string _CurrentDepartmentCode;

        public static string CurrentDepartmentCode
        {
            get
            {
                if (string.IsNullOrEmpty(_CurrentDepartmentCode))
                {
                    throw new Exception("Không xác định được mã phòng (DepartmentCode) ");
                }
                return _CurrentDepartmentCode;
            }
            set { _CurrentDepartmentCode = value; }
        }

        static string _CurrentUserName;

        public static string CurrentUserName
        {
            get
            {
                if (string.IsNullOrEmpty(_CurrentUserName))
                {
                    throw new Exception("Không xác định được username ");
                }
                return _CurrentUserName;
            }
            set { _CurrentUserName = value; }
        }

        static string _CurrentUserFullName;

        public static string CurrentUserFullName
        {
            get
            {
                if (string.IsNullOrEmpty(_CurrentUserFullName))
                {
                    throw new Exception("Không xác định được tên đầy đủ của User (Fullname) ");
                }
                return _CurrentUserFullName;
            }
            set { _CurrentUserFullName = value; }
        }

        static  int _NumberDayInMonth = 30;

        public static  int NumberDayInMonth
        {
            get { return _NumberDayInMonth; }
            set { _NumberDayInMonth = value; }
        }

        static int _numberDayInYear = 365;

        public static  int NumberDayInYear
        {
            get { return _numberDayInYear; }
            set { _numberDayInYear = value; }
        }


        static Decimal _MinFeeBuyCashContract = 0;

        public static  Decimal  MinFeeBuyCashContract
        {
            get { return _MinFeeBuyCashContract; }
            set { _MinFeeBuyCashContract = value; }
        }



        #region Tham so van tin TK Noi ngoai bang theo truong Customer trong GLChartAccount
        /// <summary>
        /// Dùng trong form lookup, lọc các đầu tài khoản theo Customer và BankGL trong GLChartAccount
        /// Nhận các giá trị string.Empty, Y:Vấn tin các TK có GD với KH, N: Vấn tin các TK nội bộ, L:Chỉ vấn tin các TK lưỡng tính
        /// </summary>
        public static string GLChartAccountCustomerFilterBalance = string.Empty;
        public static string GLChartAccountCustomerFilterContigen = string.Empty;
        /// <summary>
        /// Cho phép vấn tin tài khoản tự doanh hay không?
        /// </summary>
        public static bool AllowInquiryCompanyPrivateAccount = false;
        #endregion

        #region Web service Url
        public static string PorscheGatewayUrl;
        public static string PorscheGatewayUsername;
        public static string PorscheGatewayPassword;
        public static string BankGatewayUrl;

        public static string SMSGatewayUrl;

        //public static string BankGatewayUrl200;
        public static string ExternalBankGatewayUrl;
        public static string ExternalBankUsername;
        public static string ExternalBankPassword;
        #endregion

        #region SBSBankGateway
        /// <summary>
        /// Thời gian mặc định timeout cho SBSBankGateway
        /// </summary>
        public static int SBSBankGatewayTimeout = 30000;	
        #endregion

        #region License module
        private static Dictionary<string, License.LicenseData> licenseDataListField = new Dictionary<string, Lapas.Common.License.LicenseData>();
        /// <summary>
        /// Danh sách các License và giá trị tương ứng
        /// </summary>
        public static Dictionary<string, License.LicenseData> LicenseDataList
        {
            get { return licenseDataListField; }
            set { licenseDataListField = value; }
        }
        #endregion

        #region Interest param
        /// <summary>
        /// Cho phép hay không cho phép tính lãi cho 1 khách hàng trong giờ giao dịch
        /// </summary>
        public static bool AllowCalculateInterestSingleCustomer;
        #endregion

        #region Release money param
        /// <summary>
        /// Định nghĩa thời gian cho phép giải tỏa tiền sau giờ giao dịch đối với sàn HOSE
        /// </summary>
        public static string ReleaseMoneyTimeInHose;

        /// <summary>
        /// Định nghĩa thời gian cho phép giải tỏa tiền sau giờ giao dịch của sàn HASTC
        /// </summary>
        public static string ReleaseMoneyTimeInHastc;
        public static string ReleaseMoneyTimeInUpcom;
        /// <summary>
        /// Định nghĩa giờ kết thúc toàn bộ giao dịch tại Hose
        /// </summary>
        public static string HoseEndTime;

        /// <summary>
        /// Cho phép giải tỏa khách hàng thiếu tiền sau khi hạch toán ngày T hay không?
        /// </summary>
        public static bool AllowReleaseDebitCustomer;
        #endregion

        /// <summary>
        /// Dùng trong Giấy đề nghị chi tiền mặt từ tài khoản của MHBS
        /// </summary>
        #region "Chữ ký dành cho ngân hàng MHBS"
        public static string FooterKeToan;
        public static string FooterThuQuy;
        public static string FooterKiemSoat;
        public static string FooterGiamDoc;
        public static string FooterNguoiRutTien;
        public static string TenChuTaiKhoan;
        #endregion

        #region OrderModule
        /// <summary>
        /// Định nghĩa cho phép hiển thị message box confỉm lại thông tin trước khi đặt lệnh hay không?
        /// </summary>
        public static bool AllowSubmitOrderConfirm;
        #endregion

        #region Advance param
        /// <summary>
        /// Cho phép sửa phí ứng trước
        /// </summary>
        public static bool AllowEditAdvanceFee;

        //// Buy Cash 

        /// <summary>
        /// Cho phép sửa phí mua tiền bán
        /// </summary>
        public static bool AllowEditBuyCashFee;

        #endregion

        #region Giay linh tien mat
        /// <summary>
        /// Thiết lập mẫu giấy lĩnh tiền mặt mặc định
        /// </summary>
        public static string DefaultReceivedCashTemplate;

        /// <summary>
        /// Mã ngân hàng mặc định cho mẫu giấy lĩnh tiền 
        /// </summary>
        public static string DefaultReceivedCashBankCode;

        /// <summary>
        /// Loại tài khoản ngân hàng mặc định cho giấy lĩnh tiền
        /// </summary>
        public static string DefaultReceivedCashBankAccountType;
        #endregion

        #region Mau hop dong mua quyen nhan tien ban
        /// <summary>
        /// Mẫu hợp đồng mua quyền nhận tiền bán mặc định
        /// </summary>
        public static string DefaultBuyCashTemplate;
        #endregion

        /// <summary>
        /// Định nghĩa các nhóm khách hàng cần phải theo dõi (Sử dụng cho DAS trong form nộp rút)
        /// </summary>
        public static string WarningCustomerGroupCode { get; set; }

        #region Trace section
        /// <summary>
        /// Đối tượng TraceObject để quản lý sự kiện TraceMessageRaised
        /// </summary>
        public static TraceObject CurrentTrace;        
        #endregion

        #region Dang ky phat hanh them
        public static bool AllowZeroRightExecRegisterQuantity = false;
        #endregion

        #region BusinessRole
        public static bool CheckBusinessObject;
        public static bool CheckBusinessRole;
        #endregion

        #region Mau hop dong ung truoc
        /// <summary>
        /// Mẫu hợp đồng ứng trước mặc định
        /// </summary>
        public static string DefaultAdvanceContractTemplate;
        #endregion


        public static bool CashTransferBalanceEntry;

        /// <summary>
        /// Cho phép nhập tay ghi chú khi làm Ứng trước, mua quyền KH có bán CK Cầm cố trong ngày
        /// </summary>
        public static bool AllowNotesAdvanceMortage;

        /// <summary>
        /// Cho phép hiển thị nút chuyển trạng thái trên form Hợp đồng ứng trước
        /// </summary>
        public static bool AllowChangeStatusAdvanceContract;
        /// <summary>
        /// Cho phép hiển thị nút chuyển trạng thái trên form Hợp đồng Mua quuyền
        /// </summary>
        public static bool AllowChangeStatusBuyCashContract;

        /// <summary>
        /// Cho phép hiển thị nút chuyển trạng thái trên form Kiểm soát Chuyển khoản nội bộ
        /// </summary>
        public static bool AllowChangeStatusInnerTransfer;

        /// <summary>
        /// Cho phép hiển thị nút chuyển trạng thái trên form đăng ký phát hành thêm
        /// </summary>
        public static bool AllowChangeStatusInRightExec;

        /// <summary>
        /// Cho phép hiển thị nút duyệt hợp đồng lưu ký
        /// </summary>
        public static bool AllowApproveInDepository;

        /// <summary>
        /// Cho phép hiển thị nút duyệt hợp đồng mở tài khoản
        /// </summary>
        public static bool AllowApproveInCustomers;

        /// <summary>
        /// Cho phép hiển thị nút kích hoạt tài khoản
        /// </summary>
        public static bool AllowActiveInCustomers;

        /// <summary>
        /// Cho phép hiển thị 3 nút thêm, sửa, xóa trên form gửi bảng kê
        /// </summary>
        public static bool AllowChangeInfoBankTransactionDay;

        /// <summary>
        /// Cho phép hiển thị nút chuyển trạng thái khi tính phí lưu ký
        /// </summary>
        public static bool AllowChangeStatusInStockInterest;

    }
}
